Common CLR info from gpt

Архитектуру .NET Core можно разделить на несколько компонентов, которые, взаимодействуя друг с другом, обеспечивают целостную среду разработки для создания приложений. К этим компонентам относятся:

  • Время выполнения: Время выполнения выполняет приложения .NET Core и предоставляет такие важные услуги, как управление памятью, сборка мусора и компиляция Just-In-Time (JIT).
  • Основные библиотеки: Основные библиотеки предоставляют стандартный набор библиотек классов и API для разработки приложений .NET, обеспечивая различные функциональные возможности, такие как доступ к данным, файловый ввод-вывод и сетевое взаимодействие.
  • SDK: Комплект разработчика .NET Core Software Development Kit (SDK) состоит из инструментов и библиотек, которые помогают разработчикам на протяжении всего процесса разработки приложений, включая компиляцию, упаковку и развертывание.
  • Инструменты CLI: Инструменты командной строки (CLI) .NET Core представляют собой набор утилит командной строки для создания, сборки, тестирования и развертывания приложений .NET.
  • Common Language Runtime (CLR): CLR - важнейший компонент архитектуры .NET Core, отвечающий за создание управляемой среды выполнения для .NET-приложений.
  • Компилятор Roslyn: Компилятор Roslyn - это набор компиляторов C# и Visual Basic с открытым исходным кодом, предоставляющий разработчикам .NET API для анализа кода с целью создания мощных приложений.

Спецификация общего языка (CLS) определяет набор правил и рекомендаций, которым должны следовать языки программирования, чтобы быть совместимыми в среде .NET

Система общих типов (CTS) формирует основу для определения типов данных и взаимодействия с ними в рамках .NET Framework. Он устанавливает согласованный тип системы, которая обеспечивает обмен данными и совместимость на разных языках.

В основе архитектуры .NET лежит среда Common Language Runtime (CLR). Эта среда выполнения управляет выполнением кода, распределением памяти и обработкой ресурсов. Он предоставляет такие функции, как сбор мусора, обработку исключений и безопасность кода, обеспечивая надежную и эффективную работу приложений.

Управляемый код лежит в рамках CLR и его преимущество в том что, здесь например работает сборщик мусора и система безопасности основанная типах
Неуправляемый код, как правило си или плюсы взаимодействует напрямую с системой, это может быть нужно анпример для устранения разрыва между современными приложениями .NET и устаревшими системами.

IL Это язык в который преобразуются другие языки, бэйсик, шарпы. Он похож на ассемблер, но предназначен чисто для дотнета.

Метаданные — набор из таблиц данных, описывающих то, что определено в модуле.